package com.neo.office.server.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;

@Data
@TableName(value = "t_salary")
@ApiModel(value="Salary对象",description = "")
public class Salary implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="id")
    private Integer id;

    /**
     * 基本工资
     */
    @TableField(value = "basicSalary")
    @ApiModelProperty(value="基本工资")
    private Integer basicSalary;

    /**
     * 奖金
     */
    @TableField(value = "bonus")
    @ApiModelProperty(value="奖金")
    private Integer bonus;

    /**
     * 午餐补助
     */
    @TableField(value = "lunchSalary")
    @ApiModelProperty(value="午餐补助")
    private Integer lunchSalary;

    /**
     * 交通补助
     */
    @TableField(value = "trafficSalary")
    @ApiModelProperty(value="交通补助")
    private Integer trafficSalary;

    /**
     * 应发工资
     */
    @TableField(value = "allSalary")
    @ApiModelProperty(value="应发工资")
    private Integer allSalary;

    /**
     * 养老金基数
     */
    @TableField(value = "pensionBase")
    @ApiModelProperty(value="养老金基数")
    private Integer pensionBase;

    /**
     * 养老金比率
     */
    @TableField(value = "pensionPer")
    @ApiModelProperty(value="养老金比率")
    private Double pensionPer;

    /**
     * 启用时间
     */
    @TableField(value = "createDate")
    @ApiModelProperty(value="启用时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private LocalDateTime createDate;

    /**
     * 医疗基数
     */
    @TableField(value = "medicalBase")
    @ApiModelProperty(value="医疗基数")
    private Integer medicalBase;

    /**
     * 医疗保险比率
     */
    @TableField(value = "medicalPer")
    @ApiModelProperty(value="医疗保险比率")
    private Double medicalPer;

    /**
     * 公积金基数
     */
    @TableField(value = "accumulationFundBase")
    @ApiModelProperty(value="公积金基数")
    private Integer accumulationFundBase;

    /**
     * 公积金比率
     */
    @TableField(value = "accumulationFundPer")
    @ApiModelProperty(value="公积金比率")
    private Double accumulationFundPer;

    /**
     * 名称
     */
    @TableField(value = "name")
    @ApiModelProperty(value="名称")
    private String name;

}